package com.itany.corejava.code04_方法;

/**
 * @author 石小俊
 * @date 2024年01月11日 14:13
 * 斐波那契数列: 1 1 2 3 5 ... N，后一项=前两项之和
 * 求第n个数是多少
 */
public class Test04_练习 {

    public static void main(String[] args) {
        System.out.println("斐波那契数列第5个数为:" + fib(5));
        System.out.println("斐波那契数列第6个数为:" + fib(6));
        System.out.println("斐波那契数列第7个数为:" + fib(7));
        System.out.println("斐波那契数列第8个数为:" + fib(8));
    }

    public static int fib(int n) {
        // 归
        // 当获取的数是第一个与第二个时,直接返回
        if (n == 1 || n == 2) {
            return 1;
        }

        // 递
        // 第n个数=第(n-1)个数+第(n-2)个数
        return fib(n - 1) + fib(n - 2);
    }

}
